package main

// func main() {
// 	// 给定的字符串数组
// 	words := []string{"I", "am", "stupid", "and", "weak"}

// 	// 使用for循环遍历数组
// 	for i, word := range words {
// 		// 根据单词内容进行替换
// 		switch word {
// 		case "stupid":
// 			words[i] = "smart"
// 		case "weak":
// 			words[i] = "strong"
// 		}
// 	}

// 	// 打印修改后的数组
// 	fmt.Println(words)
// }

import (
	"fmt"
	"time"
)

func main() {
	// 创建一个长度为10的缓冲Channel作为队列
	queue := make(chan int, 10)

	// 生产者发送元素到队列
	go func() {
		for i := 0; i < 20; i++ { // 生产20个元素
			queue <- i
			fmt.Println("生产者放入元素:", i)
			time.Sleep(1 * time.Second) // 每隔1秒生产一个元素
		}
		close(queue) // 关闭队列，通知消费者没有更多元素
	}()

	// 消费者从队列中获取元素
	for element := range queue {
		fmt.Println("消费者取出元素:", element)
		time.Sleep(1 * time.Second) // 每隔1秒取出一个元素
	}
	fmt.Println("队列为空，消费者退出")
}
